#ifndef __OC_NetCDFDef_H__
#define __OC_NetCDFDef_H__

#if defined(_MSC_VER)
#ifndef OCNetCDF_EXPORTS
#define _netCDFExport  __declspec(dllimport)
#else
#define _netCDFExport  __declspec(dllexport)
#endif
#else
#define _netCDFExport
#endif

#include "OCMain/StringUtil.h"
#include "OCMain/FileUtil.h"

namespace OCPP
{
	class NcWrapper;
	class NetCDFReader;
	class NcUtil;
	class NcOutput;
	class NcVarWrapper;

	class NetcdfNcReader;
	class NetcdfGribReader;

	class NetcdfFileReader;
	using NetcdfFileReaderPtr = std::shared_ptr<NetcdfFileReader>;

	
	using NcVarWrapperPtr = std::shared_ptr<NcVarWrapper>;
	using NcWrapperPtr = std::shared_ptr<NcWrapper>;
	using NcShape = std::vector<size_t>;
	using NcReadIndex = std::tuple<NcShape, NcShape>;
}

#endif